package NiuKe.JianZhiOffer;

/**
 * 输入一个整数，输出该数32位二进制表示中1的个数。其中负数用补码表示。
 */
public class JZ11 {
    public static void main(String[] args) {

        /*int a = -100;

        if(a < 0){
            int m = 8;

            while(true){
                if(Math.pow(2,m-1) >= -a){
                    break;
                }
                m *= 2;
            }
            a = (int) (a + Math.pow(2,m));
        }

        System.out.println( Integer.toBinaryString(a).replaceAll("0","").length() );*/

        /*int res = 0;
         for (int i = 0; i < 32; i++)
             res += (n >> i) & 1;
         return res;*/

        int res = -100;
        int ans = 0;
        while (res != 0) {
            ++ans;
            res = res & (res-1);
        }
        System.out.println(ans);
    }
}
